]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
shellDBus: Implement all methods asynchronously
authorFlorian Müllner <fmuellner@gnome.org>
Thu, 17 Jun 2021 13:29:42 +0000 (15:29 +0200)
committerMarge Bot <marge-bot@gnome.org>
Fri, 3 Sep 2021 21:34:58 +0000 (21:34 +0000)
In order to restrict callers, we will need access to the invocation,
not just the unpacked method parameters.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/3943

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1970>

js/ui/shellDBus.js

index 2f21ba41d726b9de83c6ac3247b020cd3f986054..62c840094bde3b26a0d69b54ebee722b1b16998c 100644 (file)
@@ -72,11 +72,26 @@ var GnomeShell = class {
         return [success, returnValue];
     }
 
-    FocusSearch() {
+    /**
+     * Focus the overview's search entry
+     *
+     * @param {...any} params - method parameters
+     * @param {Gio.DBusMethodInvocation} invocation - the invocation
+     * @returns {void}
+     */
+    FocusSearchAsync(params, invocation) {
         Main.overview.focusSearch();
+        invocation.return_value(null);
     }
 
-    ShowOSD(params) {
+    /**
+     * Show OSD with the specified parameters
+     *
+     * @param {...any} params - method parameters
+     * @param {Gio.DBusMethodInvocation} invocation - the invocation
+     * @returns {void}
+     */
+    ShowOSDAsync([params], invocation) {
         for (let param in params)
             params[param] = params[param].deep_unpack();
 
@@ -97,14 +112,31 @@ var GnomeShell = class {
             icon = Gio.Icon.new_for_string(serializedIcon);
 
         Main.osdWindowManager.show(monitorIndex, icon, label, level, maxLevel);
+        invocation.return_value(null);
     }
 
-    FocusApp(id) {
+    /**
+     * Focus specified app in the overview's app grid
+     *
+     * @param {string} id - an application ID
+     * @param {Gio.DBusMethodInvocation} invocation - the invocation
+     * @returns {void}
+     */
+    FocusAppAsync([id], invocation) {
         Main.overview.selectApp(id);
+        invocation.return_value(null);
     }
 
-    ShowApplications() {
+    /**
+     * Show the overview's app grid
+     *
+     * @param {...any} params - method parameters
+     * @param {Gio.DBusMethodInvocation} invocation - the invocation
+     * @returns {void}
+     */
+    ShowApplicationsAsync(params, invocation) {
         Main.overview.show(ControlsState.APP_GRID);
+        invocation.return_value(null);
     }
 
     GrabAcceleratorAsync(params, invocation) {